BRICKWELL is a new game for the Macintosh based on the arcade game KLAX. I wrote this game as an exercise, to teach myself how to program in C using Think C, on the Macintosh. I welcome any comments, suggestions, or bug reports. If there is sufficient interest, I will release a new version with more levels and refinements. This program uses the Sound Manager and is best played with the sound on.
Display:
--------------------
When you start the application you will see a window divided in half. The left half is the game playing field. Here you will see bricks fall that you must catch on your paddle and later drop; this is all explained later. The right half of the window is the game status display. Things such as score, level, bricks caught, paddles left, level messages, game status, etc... are displayed here.
There are also two menu selections you may choose. You may quit the game from the File menu. You may also pause the game and abort the game from the Options menu.
How To Play:
--------------------
Basically, different types of bricks fall from the top of the window and you catch them on your paddle. The paddle holds a maximum of 5 bricks. Hold down the space bar to make the bricks fall faster. The object of the game is to drop the caught bricks so that bricks of the same type are adjacent to each other, either vertically, horizontally, or diagonally, depending on the level. Arranging at least 3 bricks of the same type in this fashion is called a “Brickwell.” A maximum of 5 bricks may be dropped in each of 5 columns. Use the ‘j’,’k’,’l’ keys to move left, drop a caught brick, and move right, respectively. Note that the last brick caught is the first brick dropped from the paddle. When you are ready to start a new game, first select the level which you want to start at. Then click on the ‘Start’ button to begin play at each level. You have 3 paddles to start. You will lose a paddle if you attempt to catch a brick with 5 bricks already caught on your paddle or if a falling brick drops past the highest caught brick or if a falling brick hits the “ground.”
Hint: Catching bricks on the paddle becomes an important strategy at higher levels.
Levels:
-------------------
Level 1: (BRICKWELL LEVEL)
----------
To complete this level, you must drop your caught bricks such that at least 3 of the same type are adjacent either vertically, horizontally, or diagonally. This must be done 3 times. In other words you must get 3 Brickwells. Note that more points are scored by getting a diagonal Brickwell than a horizontal Brickwell than a vertical Brickwell. Also, more points are scored for getting a Brickwell consisting of more than 3 of the same type of bricks.
3 brick vertical Brickwell: 100 points
4 brick vertical Brickwell: 1000 points
3 brick horizontal Brickwell: 100 points
4 brick horizontal Brickwell: 500 points
5 brick horizontal Brickwell: 1000 points
3 brick diagonal Brickwell: 500 points
4 brick diagonal Brickwell: 1000 points
5 brick diagonal Brickwell: 5000 points
Level 2: (BRICKWELL LEVEL)
----------
To complete this level, do essentially the same thing as Level 1, except that you must get 5 Brickwells instead of 3.
3 brick vertical Brickwell: 200 points
4 brick vertical Brickwell: 1500 points
3 brick horizontal Brickwell: 300 points
4 brick horizontal Brickwell: 1000 points
5 brick horizontal Brickwell: 2000 points
3 brick diagonal Brickwell: 1000 points
4 brick diagonal Brickwell: 2000 points
5 brick diagonal Brickwell: 10000 points
Level 3: (DIAGONAL BRICKWELL LEVEL)
----------
To complete this level, you must drop your caught bricks such that at least 3 of the same type are diagonally adjacent. This must be done 3 times.
3 brick vertical Brickwell: 100 points
4 brick vertical Brickwell: 100 points
3 brick horizontal Brickwell: 100 points
4 brick horizontal Brickwell: 200 points
5 brick horizontal Brickwell: 300 points
3 brick diagonal Brickwell: 1000 points
4 brick diagonal Brickwell: 5000 points
5 brick diagonal Brickwell: 10000 points
Level 4: (POINT LEVEL)
----------
To complete this level, you must score 10,000 points for this level only.
3 brick vertical Brickwell: 500 points
4 brick vertical Brickwell: 1000 points
3 brick horizontal Brickwell: 1000 points
4 brick horizontal Brickwell: 2000 points
5 brick horizontal Brickwell: 3000 points
3 brick diagonal Brickwell: 4000 points
4 brick diagonal Brickwell: 5000 points
5 brick diagonal Brickwell: 10000 points
Level 5: (BRICK LEVEL)
----------
To complete this level, you must catch 40 bricks.
3 brick vertical Brickwell: 500 points
4 brick vertical Brickwell: 1000 points
3 brick horizontal Brickwell: 2000 points
4 brick horizontal Brickwell: 3000 points
5 brick horizontal Brickwell: 5000 points
3 brick diagonal Brickwell: 5000 points
4 brick diagonal Brickwell: 10000 points
5 brick diagonal Brickwell: 25000 points
Level 6: (BRICKWELL LEVEL)
----------
Get 5 Brickwells.
3 brick vertical Brickwell: 750 points
4 brick vertical Brickwell: 1000 points
3 brick horizontal Brickwell: 2500 points
4 brick horizontal Brickwell: 3000 points
5 brick horizontal Brickwell: 7500 points
3 brick diagonal Brickwell: 7500 points
4 brick diagonal Brickwell: 10000 points
5 brick diagonal Brickwell: 100000 points
Level 7: (BRICKWELL LEVEL)
----------
Get 10 Brickwells.
3 brick vertical Brickwell: 750 points
4 brick vertical Brickwell: 1000 points
3 brick horizontal Brickwell: 2500 points
4 brick horizontal Brickwell: 3500 points
5 brick horizontal Brickwell: 10000 points
3 brick diagonal Brickwell: 10000 points
4 brick diagonal Brickwell: 15000 points
5 brick diagonal Brickwell: 100000 points
Level 8: (DIAGONAL BRICKWELL LEVEL)
----------
Get 5 diagonal Brickwells.
3 brick vertical Brickwell: 500 points
4 brick vertical Brickwell: 1000 points
3 brick horizontal Brickwell: 1000 points
4 brick horizontal Brickwell: 2000 points
5 brick horizontal Brickwell: 3000 points
3 brick diagonal Brickwell: 5000 points
4 brick diagonal Brickwell: 25000 points
5 brick diagonal Brickwell: 100000 points
Level 9: (POINT LEVEL)
----------
Score 20,000 points.
3 brick vertical Brickwell: 1000 points
4 brick vertical Brickwell: 2000 points
3 brick horizontal Brickwell: 2000 points
4 brick horizontal Brickwell: 3000 points
5 brick horizontal Brickwell: 4000 points
3 brick diagonal Brickwell: 5000 points
4 brick diagonal Brickwell: 10000 points
5 brick diagonal Brickwell: 100000 points
Level 10: (BRICK LEVEL)
----------
Catch 50 bricks.
3 brick vertical Brickwell: 1000 points
4 brick vertical Brickwell: 5000 points
3 brick horizontal Brickwell: 2000 points
4 brick horizontal Brickwell: 10000 points
5 brick horizontal Brickwell: 50000 points
3 brick diagonal Brickwell: 50000 points
4 brick diagonal Brickwell: 100000 points
5 brick diagonal Brickwell: 200000 points
Level 11: (BRICK LEVEL)
----------
Catch 50 bricks.
3 brick vertical Brickwell: 1000 points
4 brick vertical Brickwell: 5000 points
3 brick horizontal Brickwell: 2000 points
4 brick horizontal Brickwell: 10000 points
5 brick horizontal Brickwell: 50000 points
3 brick diagonal Brickwell: 50000 points
4 brick diagonal Brickwell: 100000 points
5 brick diagonal Brickwell: 200000 points
That’s it!
Final Remarks:
--------------------
This program was not written with Multifinder in mind. In particular, I used GetNextEvent instead of WaitNextEvent. The snd resources used by the Sound Manager were downloaded from sumex-aim.stanford.edu, thanks to whoever is responsible for them. This program is completely free for personal use only.